/**
 * Multiworker 2000
 * @brief Classe de mensagens do sistema
 * @author André Luiz de Oliveira Vasconcelos
 * @file mensagem.h
 * @date 2011
 */

#ifndef MENSAGEM_H
#define MENSAGEM_H

#include <QString>

    enum TipoMensagem {
		TMAviso,
	    TMErro,
	    TMMensagem
	};

	enum PrioridadeMensagem {
		PMAlta,
		PMMedia,
		PMBaixa
    };

class Mensagem
{

public:
    Mensagem();
    ~Mensagem();

    // Setters e Getters
    void setTexto( QString );
    void setTexto( QString, TipoMensagem );
    void setAviso( QString );
    void setErro( QString );
    void setMensagem( QString );
    QString getTexto();
    void setTipo( TipoMensagem );
    TipoMensagem getTipo();
    void setPrioridade( PrioridadeMensagem );
    PrioridadeMensagem getPrioridade();

    bool erro() {return this->tipo == TMErro;}
    void marcarComoLida();
    void marcarComoNaoLida();

private:
    QString texto;
    TipoMensagem tipo;
    bool lida;
    PrioridadeMensagem prioridade;
	
};

#endif // MENSAGEM_H

